Retro Adventures Continue: the Color Computer 2
July 14th, 2024CoCo Basics
OK, so having conquered Grant’s Six Five Chip 6809 Computer, or at least getting it to work and writing some assembly language programs for it, I wanted to work with a more capable 6809 based machine. Minimum required additions: a video display and built-in keyboard. The Radio Shack Color Computer (CoCo) 3 looked promising but they’re hard to find and fairly expensive. Then I got lucky and found a working $70 16K CoCo 2 at VCF East.
Upgrading it to 64K was dead easy, eight 4164 chips courtesy of AliExpress and solder one jumper and I had maxed out the RAM. The older BASIC ROM got replaced with an EPROM and small adapter board and I now have a top end (1980s era) CoCo 2. The one remaining hardware change I’d like to make is replacing the RF modulator module with a composite video board. I found a nice one on Zippster’s Web Site but he doesn’t seem active and hasn’t responded to my emails so I haven’t been able to get one as yet. I did find instructions for altering the RF module to composite, but if that failed I’d have a dead CoCo 2 with no easy way back to making it work again. I’d rather not take that risk. If anyone knows of a source for buying a Type A (vertical) composite video module I’d very much appreciate a link.
CoCo 2 Architecture
It’s a pretty basic setup for a 6809 computer that comes with some significant software challenges as a result. Pretty much everything is implemented in bare-minimal hardware. The keyboard is exposed as a raw key matrix that needs software scanning to detect keypresses. The serial port is an input bit and an output bit with no hardware serial chip, so serial communications means software bit-banging. And the cassette interface is just a single input bit and a six bit D to A converter output; all encoding and decoding is handled in software. And with no interrupt support, not even a timer, you can do one thing at a time and timing is by counting CPU clock cycles. Pretty significant limitations. But also about as simple as you can usefully get. Everything else is just code.
Software Plan
I had definite plans for how to proceed on the software side. First get my G6CC Demon debugger running on the CoCo2, then use that to bring up my other apps: Alf and Syl.
But before I could even consider starting that work I had to come up with a way to get my code into the CoCo. A plug-in EPROM cartridge with an SD card interface might be my ultimate goal but I wanted to start simply so the existing CoCo cassette interface was my target. No hardware modification required. I just needed a way to convert my LWTOOLS generated Intel HEX into whatever analog format the CoCo expected.
And so project number one was born: CoCoCass.